package com.xnyzc.lhy.didi.tongcheng.service.order;

import com.xnyzc.lhy.didi.tongcheng.entity.TongChengRv;
import com.xnyzc.lhy.didi.tongcheng.entity.param.order.*;
import java.io.IOException;

/**
 * @Auther: lihao
 * @Date: 2020/7/5 18:02
 * @Description:
 */
public interface TcOrderService {
    /**
     * 获取同城推送的订单信息
     *
     * @param createOrderParam
     * @return
     */
    TongChengRv getTcCreateOrderInfo(TcCreateOrderParam createOrderParam) throws IOException;

    /**
     * 查询订单价格
     *
     * @param orderPriceParam
     * @return
     */
    TongChengRv getTcOrderPrice(TcOrderPriceParam orderPriceParam);

    /**
     * 同程取消订单
     *
     * @return
     */
    TongChengRv cancelOrder(TcCancelOrderParam cancelOrderParam);

    /**
     * 获取司机位置
     *
     * @param param
     * @return
     */
    TongChengRv getDriverLocation(TcDriverLocationParam param);

    /**
     * 获取订单详情
     *
     * @param param
     * @return
     */
    TongChengRv getOrderInfo(TcOrderInfoParam param);

    /**
     * 支付状态同步
     *
     * @param param
     * @return
     */
    TongChengRv orderPaySync(TcOrderPayStatusParam param);

    /**
     * 账单详情
     *
     * @param param
     * @return
     */
    TongChengRv getAccountInfo(TcAccountInfoParam param);

    /**
     * 申请发票
     *
     * @param param
     * @return
     */
    TongChengRv getInvoice(TcInvoiceParam param);

    /**
     * 获取发票状态
     *
     * @param param
     * @return
     */
    TongChengRv getInvoiceStatus(TcInvoiceQueryParam param);

    /**
     * 查询司机信息
     *
     * @param driverParam
     * @return
     */
    TongChengRv getTcDrivers(TcDriverParam driverParam);
}
